Data communication over a data network (such as, for example, the Internet, Wide Area Network or Local Area Network) often requires the updating of a file. This may include updating a file between a client and server, for instance. One method for doing so is to communicate the entire file between computers every time it is updated. This approach can be cumbersome, however, if the file is large, if there are numerous users, if the updates occur frequently, if the files should be updated promptly, and under other circumstances. Extensive bandwidth and other network resources may be required. In this context, a file may be understood to include any type of similarly structured, electronic data records, including, by way of example, a database file, data stored in a markup language format (such as HTML or XML) files, raw data, a JPG image, a Word document, an MP3 file, a video file, and the like.
A large-scale collaboration event over a network, where multiple users are sharing and modifying a single file, may involve the updating and sharing of files. In such a case, the communication of the entire file upon the file being updated can prove an inefficient use of system resources. In a videoconference between many users, for example, many files may be resident on a server that are regularly updated and accessed by multiple different users. One or more servers may maintain files that list which users are present, for example, with the list changed every time a user enters or exits the event. Also, the multiple users may be collaborating on a file such as a word processor document, a drawing, or the like. Other files may be maintained by the server with technical information regarding the status of computer hardware and software being used by each user during the videoconference.